package cn.tedu.apiday06;

import java.util.Objects;

public class Stedu {
    String name;
    int age;
    //构造方法 右键   generate


    public Stedu() {
    }

    public Stedu(String name, int age) {
        this.name = name;
        this.age = age;
    }
    //toString

    @Override
    public String toString() {
        return "Stedu{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

//因为默认是比较地址值，但是需要比较属性值，所以重写equals()方法

    @Override
    public boolean equals(Object o) {

        if (o == null || getClass() != o.getClass()) return false;
        Stedu stedu = (Stedu) o;
        return age == stedu.age &&
                Objects.equals(name, stedu.name);
    }
    ///重写hashCode()目的让底层运算hash值时别再new一次算一次
    //而是，根据对象的属性值运算得到hash值，如果属性值一样，就计算出来相同的hash值
//重写了hashCode()使两个属性相同的对象拥有相同的hash值
    @Override
    public int hashCode() {
        return Objects.hash(name, age);
    }
}
